
<?php
Load::models('proveedor');

class ProveedorController extends AppController
{
    public function ingresar()
    {
        if(Auth::is_valid()) // si es un usuario logeado se procede a ingresar un proveedor
        {

            if(input::hasPost('proveedor'))
            {      
              $nuevo = new Proveedor(Input::post('proveedor'));             
                
                if($nuevo->save())
                {
                    Flash:: valid('Ingresado proveedor');
                    input::delete();
                    return;
                }
            }
        }
        else // en caso contrario se redirige al index
        {
            Router::redirect("/");
        }
    }
    
    public function buscar($page=1,$bandera=1,$banderados=1,$datoguardado=1,$opcion=0)
    {
        if(Auth::is_valid())
        {
            if ($bandera == '1')
                {
                    $this->listaobtenida = '1';// con esto no sale el error de la variable no definida en cual salia en la vista
                }  
            if(input::hasPost('proveedor') || $banderados >= 2)
            {
                $opciondebusqueda = Input::post('seleccionbusqueda');
                $datoabuscar = Input::post('proveedor');
                
                if($opciondebusqueda == 1)
                    {
                        $obtenerdatos = new Proveedor;
                        $this->listaobtenida = $obtenerdatos->getdatosnombre($page,$datoabuscar);
                        $this->datoabuscarr = $datoabuscar;
                        $this->opcionn = $opciondebusqueda;
                    }
                else if($opciondebusqueda == 2)
                    {
                        $obtenerdatos = new Proveedor;
                        $this->listaobtenida = $obtenerdatos->getdatosdireccion($page,$datoabuscar);
                        $this->datoabuscarr = $datoabuscar;
                        $this->opcionn = $opciondebusqueda;
                    }
                else if($opciondebusqueda == 0 && $banderados >= 2 )
                    {
                        $this->opcionn = $opcion;
                        if($opcion == 1)
                        {
                            $obtenerdatos = new Proveedor;
                            $this->listaobtenida = $obtenerdatos->getdatosnombre($page,$datoguardado); 
                            $this->datoabuscarr = $datoguardado;
                            $this->opcionn = $opcion; 
                        }
                        else if($opcion ==2)
                        {
                            $obtenerdatos = new Proveedor;
                            $this->listaobtenida = $obtenerdatos->getdatosdireccion($page,$datoabuscar);                            
                            $this->datoabuscarr = $datoguardado;
                            $this->opcionn = $opcion;                            
                        }
                    
                    }
            
             }      
         } 
        else // en caso contrario se redirige al index
        {
           Router::redirect("/");
        }
        
    }
     
     public function editar($id)
     {
         $proveedoraeditar = new Proveedor();
        //se verifica si se ha enviado el formulario (submit)
        if(Input::hasPost('proveedor')){
            if($proveedoraeditar->update(Input::post('proveedor'))){
                 Flash::valid('Proveedor fue actualizado');
                //enrutando por defecto al index del controller
                return Router::redirect('/proveedor/buscar');
            } else {
                Flash::error('Falló Operación');
            }
        } else {
            //Aplicando la autocarga de objeto, para comenzar la edición
            $this->proveedor = $proveedoraeditar->find((int)$id);
        }
     }
     
     public function eliminar($id)
     {
         $proveedor = new Proveedor();
         
         //Variable que usaré en la vista eliminar.phtml
         $this->id = $id;
         
         $this->proveedor = $proveedor->find("conditions: id=".$id);

     }
     
     public function eliminarconfirmado()
     {
        if(Auth::is_valid())
        {
            $proveedoraeliminar = new Proveedor();
            if(Input::hasGet('id'))
                {
                    $proveedor = $proveedoraeliminar->find(Input::get('id'));
                    
                    //SE VERIFICA QUE EL ID DEL PROVEEDOR NO SE ENCUENTRE YA INACTIVO;
                    if ($proveedor->estado_prov == "0")
                    {
                        Flash::info('El proveedor ya ha sido eliminado del sistema');
                        Router::redirect('../proveedor/buscar');
                        exit();
                    }
                    
                    //Pasar el proveedor a inactivo
                    $proveedor->estado_prov = "0";

                    //SE PROCEDE A ELIMINAR
                    if($proveedor->update())
                    {
                        Flash::valid('Proveedor fue eliminado');
                        //enrutando a buscar proveedor
                        Router::redirect('../proveedor/buscar');
                    }
                    else
                    {
                        Flash::error("Fallo en la eliminación (proveedor)");
                        Router::redirect('../proveedor/buscar');
                    }

                }
                else
                {
                    Flash::info("Debe proveer el id del proveedor a eliminar");
                    Router::redirect('../proveedor/buscar');
                }
        }
        else
        {
            Router::redirect('../');
        }
        
     }
     
}
?>